home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1994 November / Cd Ware (Nro. 2) - Epimundo.iso / DOS / ED / PCKEY.ZIP / EXSIZE5.SCR < prev    next >
Encoding:
Text File  |  1993-05-25  |  20.5 KB  |  1,137 lines

  1. :exsize5.scr
  2.  
  3. if memory 1 ! 12 goto exit
  4. if memory 2 > 0 goto lesson2
  5. goto start_lesson
  6.  
  7. :repeat_lesson
  8. bkey r
  9. bkey ' 
  10.  
  11. :start_lesson
  12. clear 15
  13.  
  14. cursor 22 19
  15. print 'Press any key to start lesson 14.
  16. wait -
  17. clear 19 19
  18.  
  19. clear 15
  20. cursor 2 16
  21. print 'Here is the final - for now at least - example draft of text. It contains
  22. cursor 0 17
  23. print 'plenty of numbers etc. Remember, try not to correct any mistakes you make but
  24. cursor 0 18
  25. print 'carry on with the rest of the text. It is easier to correct errors when you have
  26. cursor 0 19
  27. print 'finished typing.
  28.  
  29. pass 90
  30. if auto ! 0 auto
  31. script - stspeed
  32.  
  33. script - waitspc
  34. start 2
  35.  
  36. :again
  37. start 3
  38.  
  39. clear 15
  40. cursor 9 16
  41. print 'The 80486 comprises more than a million transistors, linked 
  42. cursor 9 20
  43. print 'together to form on-chip functional equivalents for three 
  44. cursor 9 16
  45. test -
  46. scroll 4 15 22
  47. cursor 9 20
  48. print 'previously descrete chips: the 80386, including its 
  49. cursor 9 16
  50. test -
  51.  
  52. scroll 4 15 22
  53. cursor 9 20
  54. print 'demand-paged and virtual memory management, 4Gbyte direct 
  55. cursor 9 16
  56. test -
  57.  
  58. scroll 4 15 22
  59. cursor 9 20
  60. print 'addressing range, and 64 terabytes of virtual memory 
  61. cursor 9 16
  62. test -
  63.  
  64. scroll 4 15 22
  65. cursor 9 20
  66. print 'space; the 80387 with a binary-compatible 80-bit IEEE 754 
  67. cursor 9 16
  68. test -
  69.  
  70. scroll 4 15 22
  71. cursor 9 20
  72. print 'floating-point unit running in parallel with the 
  73. cursor 9 16
  74. test -
  75.  
  76. scroll 4 15 22
  77. cursor 9 20
  78. print '80386-compatible 'integer unit'; and the 82385 cache 
  79. cursor 9 16
  80. test -
  81.  
  82. scroll 4 15 22
  83. cursor 9 20
  84. print 'controller, with 8k of mixed data and instruction cache 
  85. cursor 9 16
  86. test -
  87.  
  88. scroll 4 15 22
  89. cursor 9 20
  90. print 'memory.
  91. enter
  92. cursor 9 16
  93. test -
  94.  
  95. scroll 4 15 22
  96. cursor 9 20
  97. print 'In other words, add some main memory and some input and 
  98. cursor 9 16
  99. test -
  100.  
  101. scroll 4 15 22
  102. cursor 9 20
  103. print 'output hardware, and the 80486 on its own can form the 
  104. cursor 9 16
  105. test -
  106.  
  107. scroll 4 15 22
  108. cursor 9 20
  109. print 'heart of a system with all the features of today's top 
  110. cursor 9 16
  111. test -
  112.  
  113. scroll 4 15 22
  114. cursor 9 20
  115. print '80386-based PCs. Such a system would also be faster than 
  116. cursor 9 16
  117. test -
  118.  
  119. scroll 4 15 22
  120. cursor 9 20
  121. print 'an 80386-based machine running at the same clock rate, for 
  122. cursor 9 16
  123. test -
  124.  
  125. scroll 4 15 22
  126. cursor 9 20
  127. print 'no other reason than that the RAM cache and its controller 
  128. cursor 9 16
  129. test -
  130.  
  131. scroll 4 15 22
  132. cursor 9 20
  133. print 'are on the processor chip instead of separated from it by 
  134. cursor 9 16
  135. test -
  136.  
  137. scroll 4 15 22
  138. cursor 9 20
  139. print 'a comparatively enormous expanse of sluggish copper 
  140. cursor 9 16
  141. test -
  142.  
  143. scroll 4 15 22
  144. cursor 9 20
  145. print 'connector.
  146. enter
  147. cursor 9 16
  148. test -
  149.  
  150. scroll 4 15 22
  151. cursor 9 20
  152. print 'But instead of just bolting these functional blocks 
  153. cursor 9 16
  154. test -
  155.  
  156. scroll 4 15 22
  157. cursor 9 20
  158. print 'together on a chip and leaving it at that - and despite 
  159. cursor 9 16
  160. test -
  161.  
  162. scroll 4 15 22
  163. cursor 9 20
  164. print 'having to maintain compatibility with the 8086 processor 
  165. cursor 9 16
  166. test -
  167.  
  168. scroll 4 15 22
  169. cursor 9 20
  170. print 'design that is now ten years old - intel's engineers have 
  171. cursor 9 16
  172. test -
  173.  
  174. scroll 4 15 22
  175. cursor 9 20
  176. print 'improved the efficiency of the processor instruction set, 
  177. cursor 9 16
  178. test -
  179.  
  180. scroll 4 15 22
  181. cursor 9 20
  182. print 'speeded up the cache architecture, and added other 
  183. cursor 9 16
  184. test -
  185.  
  186. scroll 4 15 22
  187. cursor 9 20
  188. print 'performance enhancements.
  189. enter
  190. cursor 9 16
  191. test -
  192.  
  193. scroll 4 15 22
  194. cursor 9 20
  195. print 'For example, the 80486 instruction set has been designed 
  196. cursor 9 16
  197. test -
  198.  
  199. scroll 4 15 22
  200. cursor 9 20
  201. print 'to execute frequently used instructions in a single clock 
  202. cursor 9 16
  203. test -
  204.  
  205. scroll 4 15 22
  206. cursor 9 20
  207. print 'cycle as much as possible by loading five instructions 
  208. cursor 9 16
  209. test -
  210.  
  211. scroll 4 15 22
  212. cursor 9 20
  213. print 'into a pipe-line and executing parts of them in parallel. 
  214. cursor 9 16
  215. test -
  216.  
  217. scroll 4 15 22
  218. cursor 9 20
  219. print 'This means that a LOAD instruction that would take four 
  220. cursor 9 16
  221. test -
  222.  
  223. scroll 4 15 22
  224. cursor 9 20
  225. print 'cycles on an 80386 and two cycles on the Sun SPARC reduced 
  226. cursor 9 16
  227. test -
  228.  
  229. scroll 4 15 22
  230. cursor 9 20
  231. print 'instruction set computing (RISC) processor, takes one 
  232. cursor 9 16
  233. test -
  234.  
  235. scroll 4 15 22
  236. cursor 9 20
  237. print 'cycle on an 80486. Similarly, a CALL instruction that 
  238. cursor 9 16
  239. test -
  240.  
  241. scroll 4 15 22
  242. cursor 9 20
  243. print 'takes three cycles on the new chip compares with nine on 
  244. cursor 9 16
  245. test -
  246.  
  247. scroll 4 15 22
  248. cursor 9 20
  249. print 'the 80386 and three on the SPARC.
  250. enter
  251. cursor 9 16
  252. test -
  253.  
  254. scroll 4 15 22
  255. cursor 9 20
  256. print 'Other internal shortcuts remove the wait-state that is 
  257. cursor 9 16
  258. test -
  259.  
  260. scroll 4 15 22
  261. cursor 9 20
  262. print 'normally required before data read from cache is available 
  263. cursor 9 16
  264. test -
  265.  
  266. scroll 4 15 22
  267. cursor 9 20
  268. print 'for processing; another allows the results of previous 
  269. cursor 9 16
  270. test -
  271.  
  272. scroll 4 15 22
  273. cursor 9 20
  274. print 'instructions to be available to subsequent ones faster 
  275. cursor 9 16
  276. test -
  277.  
  278. scroll 4 15 22
  279. cursor 9 20
  280. print 'than normal. And in the 80387-compatible floating-point 
  281. cursor 9 16
  282. test -
  283.  
  284. scroll 4 15 22
  285. cursor 9 20
  286. print 'unit, 80387 instructions similarly take fewer clock cycles 
  287. cursor 9 16
  288. test -
  289.  
  290. scroll 4 15 22
  291. cursor 9 20
  292. print 'to execute; for instance, an 80-bit floating-point store 
  293. cursor 9 16
  294. test -
  295.  
  296. scroll 4 15 22
  297. cursor 9 20
  298. print 'takes three cycles rather than the fifteen or twenty of 
  299. cursor 9 16
  300. test -
  301.  
  302. scroll 4 15 22
  303. cursor 9 20
  304. print 'the external 80387.
  305. enter
  306. cursor 9 16
  307. test -
  308.  
  309. cursor 9 20
  310. test -
  311.  
  312. script - sofar
  313. if accuracy 3 < 90 goto again
  314. if key = R goto repeat_lesson
  315. if key = r goto repeat_lesson
  316.  
  317. memory 2 = 1
  318. goto start_lesson2
  319.  
  320. :lesson2
  321. if memory 2 > 1 goto lesson3
  322. goto start_lesson2
  323.  
  324. :repeat_lesson2
  325. bkey r
  326. bkey ' 
  327.  
  328. :start_lesson2
  329. clear 15
  330. cursor 26 18
  331. print 'Now for part 2 of lesson 14.
  332.  
  333. pass 90
  334. if auto ! 0 auto
  335. script - stspeed
  336.  
  337. script - waitspc
  338. start 2
  339.  
  340. :again2
  341. start 3
  342.  
  343. clear 15
  344. cursor 9 16
  345. print 'The cache architecture in the chip is now what is called 
  346. cursor 9 20
  347. print ''four-way set-associative cacheing of the external 82385 
  348. cursor 9 16
  349. test -
  350. scroll 4 15 22
  351. cursor 9 20
  352. print 'controller. To see why this is better, consider the 
  353. cursor 9 16
  354. test -
  355.  
  356. scroll 4 15 22
  357. cursor 9 20
  358. print 'problem of finding out whether a particular item of data 
  359. cursor 9 16
  360. test -
  361.  
  362. scroll 4 15 22
  363. cursor 9 20
  364. print 'is in the local cache RAM or still in main RAM in an ideal 
  365. cursor 9 16
  366. test -
  367.  
  368. scroll 4 15 22
  369. cursor 9 20
  370. print 'world, the cache RAM would simply hold the contents of the 
  371. cursor 9 16
  372. test -
  373.  
  374. scroll 4 15 22
  375. cursor 9 20
  376. print 'last 'n' memory locations accessed by the main processor, 
  377. cursor 9 16
  378. test -
  379.  
  380. scroll 4 15 22
  381. cursor 9 20
  382. print 'where 'n' is the number of locations whose contents just 
  383. cursor 9 16
  384. test -
  385.  
  386. scroll 4 15 22
  387. cursor 9 20
  388. print 'fill the cache space This sort of ideal cache is 'fully 
  389. cursor 9 16
  390. test -
  391.  
  392. scroll 4 15 22
  393. cursor 9 20
  394. print 'associative', since any cache location can hold the 
  395. cursor 9 16
  396. test -
  397.  
  398. scroll 4 15 22
  399. cursor 9 20
  400. print 'contents of - or be 'associated' with - any location in 
  401. cursor 9 16
  402. test -
  403.  
  404. scroll 4 15 22
  405. cursor 9 20
  406. print 'main memory, but it is also inefficient because every 
  407. cursor 9 16
  408. test -
  409.  
  410. scroll 4 15 22
  411. cursor 9 20
  412. print 'location in the cache must be checked by the cache 
  413. cursor 9 16
  414. test -
  415.  
  416. scroll 4 15 22
  417. cursor 9 20
  418. print 'controller to see if the location required is there, As 
  419. cursor 9 16
  420. test -
  421.  
  422. scroll 4 15 22
  423. cursor 9 20
  424. print 'cache size grows, the overhead involved in doing fully 
  425. cursor 9 16
  426. test -
  427.  
  428. scroll 4 15 22
  429. cursor 9 20
  430. print 'associative cacheing becomes prohibitive.
  431. enter
  432. cursor 9 16
  433. test -
  434.  
  435. scroll 4 15 22
  436. cursor 9 20
  437. print 'So what is required is a means of reducing the area that 
  438. cursor 9 16
  439. test -
  440.  
  441. scroll 4 15 22
  442. cursor 9 20
  443. print 'the cache controller has to check for a particular 
  444. cursor 9 16
  445. test -
  446.  
  447. scroll 4 15 22
  448. cursor 9 20
  449. print 'location to log a cache hit or a miss, and this is done by 
  450. cursor 9 16
  451. test -
  452.  
  453. scroll 4 15 22
  454. cursor 9 20
  455. print 'mapping the cache onto main memory in sets. To see how 
  456. cursor 9 16
  457. test -
  458.  
  459. scroll 4 15 22
  460. cursor 9 20
  461. print 'this works, say the processor ask for location 38000 out 
  462. cursor 9 16
  463. test -
  464.  
  465. scroll 4 15 22
  466. cursor 9 20
  467. print 'of a total number of 64000 locations. Now, the cache 
  468. cursor 9 16
  469. test -
  470.  
  471. scroll 4 15 22
  472. cursor 9 20
  473. print 'controller has to find out whether the contents of that 
  474. cursor 9 16
  475. test -
  476.  
  477. scroll 4 15 22
  478. cursor 9 20
  479. print 'location are in the cache, and so goes through the flags 
  480. cursor 9 16
  481. test -
  482.  
  483. scroll 4 15 22
  484. cursor 9 20
  485. print 'set by each cache entry to signal the main RAM locations 
  486. cursor 9 16
  487. test -
  488.  
  489. scroll 4 15 22
  490. cursor 9 20
  491. print 'whose contents they hold. With a fully-associative cache, 
  492. cursor 9 16
  493. test -
  494.  
  495. scroll 4 15 22
  496. cursor 9 20
  497. print 'the controller has to check every flag value. With a 
  498. cursor 9 16
  499. test -
  500.  
  501. scroll 4 15 22
  502. cursor 9 20
  503. print 'two-way set-associative cache, the controller knows that 
  504. cursor 9 16
  505. test -
  506.  
  507. scroll 4 15 22
  508. cursor 9 20
  509. print 'locations above 32000 can only go in the set made up by 
  510. cursor 9 16
  511. test -
  512.  
  513. scroll 4 15 22
  514. cursor 9 20
  515. print 'the top half of the cache, and so only has to check half 
  516. cursor 9 16
  517. test -
  518.  
  519. scroll 4 15 22
  520. cursor 9 20
  521. print 'as many flags. With a four-way set-associative cache, the 
  522. cursor 9 16
  523. test -
  524.  
  525. scroll 4 15 22
  526. cursor 9 20
  527. print 'controller knows that if location 38000 is in the cache at 
  528. cursor 9 16
  529. test -
  530.  
  531. scroll 4 15 22
  532. cursor 9 20
  533. print 'all, it is in that quarter of it that is mapped onto 
  534. cursor 9 16
  535. test -
  536.  
  537. scroll 4 15 22
  538. cursor 9 20
  539. print 'locations between 32000 and 48000, again reducing the 
  540. cursor 9 16
  541. test -
  542.  
  543. scroll 4 15 22
  544. cursor 9 20
  545. print 'controller's area of search.
  546. enter
  547. cursor 9 16
  548. test -
  549.  
  550. cursor 9 20
  551. test -
  552.  
  553. script - sofar
  554. if accuracy 3 < 90 goto again2
  555. if key = R goto repeat_lesson2
  556. if key = r goto repeat_lesson2
  557.  
  558. memory 2 = 2
  559. goto start_lesson3
  560.  
  561. :lesson3
  562. if memory 2 > 2 goto lesson4
  563. goto start_lesson3
  564.  
  565. :repeat_lesson3
  566. bkey r
  567. bkey ' 
  568.  
  569. :start_lesson3
  570. clear 15
  571. cursor 26 18
  572. print 'Now for part 3 of lesson 14.
  573.  
  574. pass 90
  575. if auto ! 0 auto
  576. script - stspeed
  577.  
  578. script - waitspc
  579. start 2
  580.  
  581. :again3
  582. start 3
  583.  
  584. clear 15
  585. cursor 9 16
  586. print 'There needs to be some kind of compromise between the 
  587. cursor 9 20
  588. print 'number of sets a set-associative cache is divided into and 
  589. cursor 9 16
  590. test -
  591. scroll 4 15 22
  592. cursor 9 20
  593. print 'the search time for a hit or miss; the more set divisions 
  594. cursor 9 16
  595. test -
  596.  
  597. scroll 4 15 22
  598. cursor 9 20
  599. print 'there are the faster the controller's search but, the more 
  600. cursor 9 16
  601. test -
  602.  
  603. scroll 4 15 22
  604. cursor 9 20
  605. print 'divisions there are, the more logic and processing is 
  606. cursor 9 16
  607. test -
  608.  
  609. scroll 4 15 22
  610. cursor 9 20
  611. print 'involved in assigning each main RAM read to the right set. 
  612. cursor 9 16
  613. test -
  614.  
  615. scroll 4 15 22
  616. cursor 9 20
  617. print 'And when the cache has to decide on a hit or miss in 
  618. cursor 9 16
  619. test -
  620.  
  621. scroll 4 15 22
  622. cursor 9 20
  623. print 'around 10ns if RAM cacheing is to be effective at all, a 
  624. cursor 9 16
  625. test -
  626.  
  627. scroll 4 15 22
  628. cursor 9 20
  629. print 'four-way set-associative cache inside the processor chip 
  630. cursor 9 16
  631. test -
  632.  
  633. scroll 4 15 22
  634. cursor 9 20
  635. print 'is superior to a two way set-associative cache using 
  636. cursor 9 16
  637. test -
  638.  
  639. scroll 4 15 22
  640. cursor 9 20
  641. print 'external controller and RAM. More, although the 80486 
  642. cursor 9 16
  643. test -
  644.  
  645. scroll 4 15 22
  646. cursor 9 20
  647. print 'cache is write-through so that writes to cache are 
  648. cursor 9 16
  649. test -
  650.  
  651. scroll 4 15 22
  652. cursor 9 20
  653. print 'immediately written to main RAM as well, write buffering 
  654. cursor 9 16
  655. test -
  656.  
  657. scroll 4 15 22
  658. cursor 9 20
  659. print 'is used so that the processor can continue processing 
  660. cursor 9 16
  661. test -
  662.  
  663. scroll 4 15 22
  664. cursor 9 20
  665. print 'after posting a cache write to the buffer without having 
  666. cursor 9 16
  667. test -
  668.  
  669. scroll 4 15 22
  670. cursor 9 20
  671. print 'to wait for any delays in writing through to main RAM. And 
  672. cursor 9 16
  673. test -
  674.  
  675. scroll 4 15 22
  676. cursor 9 20
  677. print 'there is also 'bus snooping', as with the 82385, to make 
  678. cursor 9 16
  679. test -
  680.  
  681. scroll 4 15 22
  682. cursor 9 20
  683. print 'sure that direct memory access (DMA) transfers do not 
  684. cursor 9 16
  685. test -
  686.  
  687. scroll 4 15 22
  688. cursor 9 20
  689. print 'cause main RAM and cache RAM to get out of step.
  690. enter
  691. cursor 9 16
  692. test -
  693.  
  694. scroll 4 15 22
  695. cursor 9 20
  696. print 'On the other hand, a cache is no good unless main RAM is 
  697. cursor 9 16
  698. test -
  699.  
  700. scroll 4 15 22
  701. cursor 9 20
  702. print 'fast enough to keep it filled. The 80486 data bus has a 
  703. cursor 9 16
  704. test -
  705.  
  706. scroll 4 15 22
  707. cursor 9 20
  708. print 'new mode that reacts to a cache miss by 'burst-filling' 
  709. cursor 9 16
  710. test -
  711.  
  712. scroll 4 15 22
  713. cursor 9 20
  714. print 'the cache and instruction pre-fetch queue at the rate of a 
  715. cursor 9 16
  716. test -
  717.  
  718. scroll 4 15 22
  719. cursor 9 20
  720. print '64-bit double word per clock cycle, meaning that if a 
  721. cursor 9 16
  722. test -
  723.  
  724. scroll 4 15 22
  725. cursor 9 20
  726. print 'cache miss occurs the cache is filled up with other 
  727. cursor 9 16
  728. test -
  729.  
  730. scroll 4 15 22
  731. cursor 9 20
  732. print 'possibilities as fast as possible. With this 'burst bus 
  733. cursor 9 16
  734. test -
  735.  
  736. scroll 4 15 22
  737. cursor 9 20
  738. print 'transfer' mechanism, up to 80Mbytes of data per second can 
  739. cursor 9 16
  740. test -
  741.  
  742. scroll 4 15 22
  743. cursor 9 20
  744. print 'be read on the data bus at a clock speed of 25MHz.
  745. enter
  746. cursor 9 16
  747. test -
  748.  
  749. scroll 4 15 22
  750. cursor 9 20
  751. print 'The bus-snooping features are combined with new 
  752. cursor 9 16
  753. test -
  754.  
  755. scroll 4 15 22
  756. cursor 9 20
  757. print 'instructions that match the system of semaphores and 
  758. cursor 9 16
  759. test -
  760.  
  761. scroll 4 15 22
  762. cursor 9 20
  763. print 'signals used by OS/2 and Unix to let programs flag their 
  764. cursor 9 16
  765. test -
  766.  
  767. scroll 4 15 22
  768. cursor 9 20
  769. print 'alterations to shared memory resources, in a 
  770. cursor 9 16
  771. test -
  772.  
  773. scroll 4 15 22
  774. cursor 9 20
  775. print 'multi-tasking, multi-user or multi-processor environment. 
  776. cursor 9 16
  777. test -
  778.  
  779. scroll 4 15 22
  780. cursor 9 20
  781. print 'Intel is working with AT&T, Unisys subsidiary and major 
  782. cursor 9 16
  783. test -
  784.  
  785. scroll 4 15 22
  786. cursor 9 20
  787. print 'Unix OEM supplier Convergent Technologies, Olivetti and 
  788. cursor 9 16
  789. test -
  790.  
  791. scroll 4 15 22
  792. cursor 9 20
  793. print 'Prime to create a multi-proccessor version of Unix System V 
  794. cursor 9 16
  795. test -
  796.  
  797. scroll 4 15 22
  798. cursor 9 20
  799. print 'Release 4 for the 80486, the 80386 and the i860, scheduled 
  800. cursor 9 16
  801. test -
  802.  
  803. scroll 4 15 22
  804. cursor 9 20
  805. print 'for release before the end of this year.
  806. enter
  807. cursor 9 16
  808. test -
  809.  
  810. scroll 4 15 22
  811. cursor 9 20
  812. print 'In all this, the one thing to remember is that none of it 
  813. cursor 9 16
  814. test -
  815.  
  816. scroll 4 15 22
  817. cursor 9 20
  818. print 'matters as far as software is concerned. The instruction 
  819. cursor 9 16
  820. test -
  821.  
  822. scroll 4 15 22
  823. cursor 9 20
  824. print 'set of the 80486 is completely compatible with every 
  825. cursor 9 16
  826. test -
  827.  
  828. scroll 4 15 22
  829. cursor 9 20
  830. print 'instruction currently aimed at the 80386 and 80387, and 
  831. cursor 9 16
  832. test -
  833.  
  834. scroll 4 15 22
  835. cursor 9 20
  836. print 'everything that runs on an 30386 will run, barring 
  837. cursor 9 16
  838. test -
  839.  
  840. scroll 4 15 22
  841. cursor 9 20
  842. print 'disaster, on the 80486 as well. The 80486 also has the big 
  843. cursor 9 16
  844. test -
  845.  
  846. scroll 4 15 22
  847. cursor 9 20
  848. print 'advantage that since it includes the 80387 circuitry, any 
  849. cursor 9 16
  850. test -
  851.  
  852. scroll 4 15 22
  853. cursor 9 20
  854. print 'program aimed specifically at the 80486 can assume that 
  855. cursor 9 16
  856. test -
  857.  
  858. scroll 4 15 22
  859. cursor 9 20
  860. print 'fast floating-point functions are available. As Apple 
  861. cursor 9 16
  862. test -
  863.  
  864. scroll 4 15 22
  865. cursor 9 20
  866. print 'found with the Macintosh II and every new Macintosh since, 
  867. cursor 9 16
  868. test -
  869.  
  870. scroll 4 15 22
  871. cursor 9 20
  872. print 'building a maths co-processor into every machine means 
  873. cursor 9 16
  874. test -
  875.  
  876. scroll 4 15 22
  877. cursor 9 20
  878. print 'that programmers actually get around to using it instead 
  879. cursor 9 16
  880. test -
  881.  
  882. scroll 4 15 22
  883. cursor 9 20
  884. print 'of aiming at the co-processor less lowest common 
  885. cursor 9 16
  886. test -
  887.  
  888. scroll 4 15 22
  889. cursor 9 20
  890. print 'denominator.
  891. enter
  892. cursor 9 16
  893. test -
  894.  
  895. cursor 9 20
  896. test -
  897.  
  898. script - sofar
  899. if accuracy 3 < 90 goto again3
  900. if key = R goto repeat_lesson3
  901. if key = r goto repeat_lesson3
  902.  
  903. memory 2 = 3
  904. goto start_lesson4
  905.  
  906. :lesson4
  907. if memory 2 > 3 goto exit
  908. goto start_lesson4
  909.  
  910. :repeat_lesson4
  911. bkey r
  912. bkey ' 
  913.  
  914. :start_lesson4
  915. clear 15
  916. cursor 22 18
  917. print 'And now for the rest of the article.
  918.  
  919. pass 90
  920. if auto ! 0 auto
  921. script - stspeed
  922.  
  923. script - waitspc
  924. start 2
  925.  
  926. :again4
  927. start 3
  928.  
  929. clear 15
  930. cursor 9 16
  931. print 'So, the 80486 is more highly integrated and better 
  932. cursor 9 20
  933. print 'designed than the 80386, so that it runs 80386 programs 
  934. cursor 9 16
  935. test -
  936. scroll 4 15 22
  937. cursor 9 20
  938. print 'faster at 25MHz than an 80386 can manage at 33MHz. Is that 
  939. cursor 9 16
  940. test -
  941.  
  942. scroll 4 15 22
  943. cursor 9 20
  944. print 'enough to kill the 80386 in favour of the new chip?
  945. enter
  946. cursor 9 16
  947. test -
  948.  
  949. scroll 4 15 22
  950. cursor 9 20
  951. print 'Well, no it isn't, but then that is not the full story. 
  952. cursor 9 16
  953. test -
  954.  
  955. scroll 4 15 22
  956. cursor 9 20
  957. print 'The 80386 is an old chip in the accelerated timescales of 
  958. cursor 9 16
  959. test -
  960.  
  961. scroll 4 15 22
  962. cursor 9 20
  963. print 'the electronics industry, since the first samples shipped 
  964. cursor 9 16
  965. test -
  966.  
  967. scroll 4 15 22
  968. cursor 9 20
  969. print 'to IBM, Compaq, and - presumably in line for cast-offs, 
  970. cursor 9 16
  971. test -
  972.  
  973. scroll 4 15 22
  974. cursor 9 20
  975. print 'ALR - in the autumn of 1985. At that time the chip came in 
  976. cursor 9 16
  977. test -
  978.  
  979. scroll 4 15 22
  980. cursor 9 20
  981. print '12MHz and 16MHz versions, and that implies that the 
  982. cursor 9 16
  983. test -
  984.  
  985. scroll 4 15 22
  986. cursor 9 20
  987. print 'designed-in speed was 16MHz, while the 12MHz parts were 
  988. cursor 9 16
  989. test -
  990.  
  991. scroll 4 15 22
  992. cursor 9 20
  993. print '16MHz chips that did not quite make the final tests. So 
  994. cursor 9 16
  995. test -
  996.  
  997. scroll 4 15 22
  998. cursor 9 20
  999. print 'what is the 80386 doing running at 33MHz, twice its 
  1000. cursor 9 16
  1001. test -
  1002.  
  1003. scroll 4 15 22
  1004. cursor 9 20
  1005. print 'original design speed? Using scaling techniques to reduce 
  1006. cursor 9 16
  1007. test -
  1008.  
  1009. scroll 4 15 22
  1010. cursor 9 20
  1011. print 'chip size and electronic signal path length, taking care 
  1012. cursor 9 16
  1013. test -
  1014.  
  1015. scroll 4 15 22
  1016. cursor 9 20
  1017. print 'of quality control during manufacture, and adding some 
  1018. cursor 9 16
  1019. test -
  1020.  
  1021. scroll 4 15 22
  1022. cursor 9 20
  1023. print 'tweaks in the design to cope with interference at higher 
  1024. cursor 9 16
  1025. test -
  1026.  
  1027. scroll 4 15 22
  1028. cursor 9 20
  1029. print 'frequencies, a 16MHz processor can be converted into a 
  1030. cursor 9 16
  1031. test -
  1032.  
  1033. scroll 4 15 22
  1034. cursor 9 20
  1035. print 'low-volume 33 MHz processor with associated high prices 
  1036. cursor 9 16
  1037. test -
  1038.  
  1039. scroll 4 15 22
  1040. cursor 9 20
  1041. print 'due to low production volumes.
  1042. enter
  1043. cursor 9 16
  1044. test -
  1045.  
  1046. scroll 4 15 22
  1047. cursor 9 20
  1048. print 'But doubling the clock speed of a processor design using 
  1049. cursor 9 16
  1050. test -
  1051.  
  1052. scroll 4 15 22
  1053. cursor 9 20
  1054. print 'standard manufacturing techniques is pushing things, and 
  1055. cursor 9 16
  1056. test -
  1057.  
  1058. scroll 4 15 22
  1059. cursor 9 20
  1060. print 'going beyond 40MHz as an absolute maximum is going too 
  1061. cursor 9 16
  1062. test -
  1063.  
  1064. scroll 4 15 22
  1065. cursor 9 20
  1066. print 'far. However, the 80486 arrives at a clock speed of 25MHz 
  1067. cursor 9 16
  1068. test -
  1069.  
  1070. scroll 4 15 22
  1071. cursor 9 20
  1072. print 'with 33MHz to come, implying that the initial chip design 
  1073. cursor 9 16
  1074. test -
  1075.  
  1076. scroll 4 15 22
  1077. cursor 9 20
  1078. print 'is meant to run at a minimum 33MHz. There is more speed to 
  1079. cursor 9 16
  1080. test -
  1081.  
  1082. scroll 4 15 22
  1083. cursor 9 20
  1084. print 'come, maybe a factor of two more, as the chip passes 
  1085. cursor 9 16
  1086. test -
  1087.  
  1088. scroll 4 15 22
  1089. cursor 9 20
  1090. print 'through the normal processor development cycle. The launch 
  1091. cursor 9 16
  1092. test -
  1093.  
  1094. scroll 4 15 22
  1095. cursor 9 20
  1096. print 'of the Motorola 68030 processor running at 50MHz, compared 
  1097. cursor 9 16
  1098. test -
  1099.  
  1100. scroll 4 15 22
  1101. cursor 9 20
  1102. print 'with the maximum 25MHz of the older but 
  1103. cursor 9 16
  1104. test -
  1105.  
  1106. scroll 4 15 22
  1107. cursor 9 20
  1108. print 'software-compatible 68020, shows precisely what will 
  1109. cursor 9 16
  1110. test -
  1111.  
  1112. scroll 4 15 22
  1113. cursor 9 20
  1114. print 'happen with the 80486 compared with the 80386.
  1115. enter
  1116. cursor 9 16
  1117. test -
  1118.  
  1119. cursor 9 20
  1120. test -
  1121.  
  1122. script - sofar
  1123. if accuracy 3 < 90 goto again4
  1124. if key = R goto repeat_lesson4
  1125. if key = r goto repeat_lesson4
  1126.  
  1127. memory 2 = 0
  1128.  
  1129. memory 1 = 7
  1130.  
  1131. clear
  1132. cursor 51 7
  1133. print '14
  1134. script save
  1135.  
  1136. :exit
  1137.